# 方法重写
# 定义: 子类重新定义父类中已有的方法，以提供更具体的实现。

# Python中的实现：
# 继承父类：子类继承父类。
# 同名方法：子类定义一个与父类同名的方法。
# 覆盖行为：调用子类对象的方法时，执行子类的实现，而非父类。

# 动物类
class Animal:
    def speak(self):
        print("Animal speaks")

class Dog(Animal):
    def speak(self):  # 重写父类的speak方法
        print("Dog barks" + msg)

animal = Animal()
animal.speak()  # 输出: Animal speaks

dog = Dog()
dog.speak()     # 输出: Dog barks